With the advent of technologies and services related to teleconferencing and digital image storage, considerable progress has been made in the field of digital signal processing. As will be appreciated by those skilled in the art, digital signal processing typically relates to systems, devices, and methodologies for generating a sampled data signal, compressing the signal for storage and/or transmission, and thereafter reconstructing the original data from the compressed signal. Critical to any highly efficient, cost effective digital signal processing system is the methodology used for achieving compression.
As is known in the art, data compression refers to the steps performed to map an original data signal into a bit stream suitable for communication over a channel or storage in a suitable medium. Methodologies capable of minimizing the amount of information necessary to represent and recover an original data are desirable in order to lower computational complexity and cost. In addition to cost, simplicity of hardware and software implementations capable of providing high quality data reproduction with minimal delay are likewise desirable.
Quantization refers to the technique of taking a bit stream of data and compressing it for later reproduction. There are several algorithms that may be used to achieve compression of a data signal. The most elementary methods take signal samples and quantize each signal sample into one of a small number of levels. A well-known quantizer is the Lloyd-Max optimal quantizer using nearest neighbor, minimum squared error (MSE) rules to classify an input into a specified number of levels.
Quantization can be achieved through a variety of other approaches including vector, scalar, rounding, truncation, and trellis coded quantization (TCQ) among other methods. Vector quantization is considered an efficient means of quantization, because it takes a group of samples and represents that group by only one symbol thus yielding improved compression and generating a high signal-to-noise (SNR). However, vector quantization is computationally intensive and requires a look-up table (i.e. needs memory). Scalar quantization represents one sample per symbol and is less computationally extensive than vector quantization. However, scalar quantization has the disadvantage of lower compression rate. An alternative to quantization is the rounding off or truncating of the output signal but this may lead to resolution problems.
To present, the next standard of JPEG 2000 (Joint Photographic Experts Group) systems for still images proposes algorithms which use a wavelet to achieve decomposition of an input signal and a trellis coded quantizer for signal compression.
Trellis coded quantization is based on a Viterbi algorithm which provides a search to generate a minimum error path. Generally, the Viterbi works in conjunction with a lattice quantizer (uniform grid). While the lattice quantization operation is computationally effective, the result is not optimal for distortion. At high compression rates (low bits/sample) the SNR degrades. Hence, there remains a need for an improved TCQ technique and apparatus that operates to reduce the noise generated during data signal compression (quantization noise), and improve the achievable signal to noise ratio (quality) during data reconstruction.
Accordingly, there is a need for an improved trellis coded quantization (TCQ) technique particularly as applied to digital signal processing systems.